#include <iostream>
#include <cstring>
#include <algorithm>

using namespace std;

//链接：https://www.acwing.com/problem/content/3266/
const int N = 2010;

struct P{
    int x;
    int y;
    //自定义比较排序
    bool operator < (const P&temp)const{
        return x < temp.x;
    }
};

int main(){
    int n;
    cin >> n;
    P a[N],b[N];
    for (int i = 0; i < n; i++)cin >> a[i].x >> a[i].y;
    for (int i = 0; i < n; i++)cin >> b[i].x >> b[i].y;
    //先对两个时间区间数组进行排序
    sort(a,a+n);
    sort(b,b+n);
    //再用双指针求交集
    int res = 0;
    for (int i = 0,j = 0; i < n && j < n; ){
        if (a[i].x > b[j].y){
            j++;
        }else if (b[j].x > a[i].y){
            i++;
        }else {
            res = res + min(a[i].y,b[j].y) - max(a[i].x,b[j].x);
            //一个人的一个时间区间，可能会和另一个人不止一个时间区间有交集
            if (a[i].y > b[j].y)j++;
            else i++;
        }
    }
    cout << res <<endl;
    return 0;
}
